//
//  NSObject+Public.m
//  CLBrowser
//
//  Created by 梁慧聪 on 2022/8/3.
//

#import "NSObject+Public.h"
#import "CLBook.h"
#import "CLReadModel.h"
@implementation NSObject (Public)

/// 计算总进度
- (CGFloat)CL_READ_TOTAL_PROGRESS:(CLReadModel *)readModel recordModel:(CLReadRecordModel *)recordModel {

    // 当前阅读进度
    CGFloat progress = 0.0;

    // 临时检查
    if (readModel == nil || recordModel == nil) { return progress; }

    if (recordModel.isLastChapter && recordModel.isLastPage) { // 最后一章最后一页

        // 获得当前阅读进度
        progress = 1.0;

    }else{

        // 当前章节在所有章节列表中的位置
        CGFloat chapterIndex = (CGFloat)recordModel.chapterModel.priority;

        // 章节总数量
        CGFloat chapterCount = (CGFloat)readModel.chapterListModels.count;

        // 阅读记录首位置
        CGFloat locationFirst = (CGFloat)recordModel.locationFirst;

        // 阅读记录内容长度
        CGFloat fullContentLength = (CGFloat)(recordModel.chapterModel.fullContent.length);

        // 获得当前阅读进度
        progress = (chapterIndex / chapterCount + locationFirst / fullContentLength / chapterCount);
    }

    // 返回
    return progress;
}

@end
